﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using GSdk.Net.Lglcd;
using System.Windows;
using System.Windows.Markup;
using System.Xaml;
using GSdk.Shared.Windows.Properties;
using System.Reflection;

namespace GSdk.Shared.Windows
{
    public class Layout : Control, IList
    {
        public Layout()
            : base()
        {
            Items = new ArrayList();
        }

        public ArrayList Items { get; set; }

        #region IList
        public int Add(object value)
        {
            return Items.Add(value);
        }

        public void Clear()
        {
            Items.Clear();
        }

        public bool Contains(object value)
        {
            return Items.Contains(value);
        }

        public int IndexOf(object value)
        {
            return Items.IndexOf(value);
        }

        public void Insert(int index, object value)
        {
            Items.Insert(index, value);
        }

        public bool IsFixedSize
        {
            get { return Items.IsFixedSize; }
        }

        public bool IsReadOnly
        {
            get { return Items.IsReadOnly; }
        }

        public void Remove(object value)
        {
            Items.Remove(value);
        }

        public void RemoveAt(int index)
        {
            Items.RemoveAt(index);
        }

        public object this[int index]
        {
            get
            {
                return Items[index];
            }
            set
            {
                Items[index] = value;
            }
        }

        public void CopyTo(Array array, int index)
        {
            Items.CopyTo(array, index);
        }

        public int Count
        {
            get { return Items.Count; }
        }

        public bool IsSynchronized
        {
            get { return Items.IsSynchronized; }
        }

        public object SyncRoot
        {
            get { return Items.SyncRoot; }
        }

        public IEnumerator GetEnumerator()
        {
            return Items.GetEnumerator();
        }
        #endregion
    }
}
